home *** CD-ROM | disk | FTP | other *** search
/ Joystick Magazine 1996 May / cd joy 71No13.iso / pc / demos / eurosoc / source / euro_inf.cpp < prev    next >
C/C++ Source or Header  |  1996-03-17  |  17KB  |  536 lines

  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4. #include <conio.h>
  5.  
  6. #include "eurodefs.h"
  7. #include "euro_fxd.h"
  8. #include "euro.equ"
  9. #include "euro_sym.h"
  10. #include "euro_def.h"
  11. #include "euro_var.h"
  12. #include "euro_gen.h"
  13. #include "euro_grf.h"
  14. #include "euro_dsk.h"
  15. #include "euro_sel.h"
  16. #include "euro_int.h"
  17.  
  18. #include "defines.h"
  19.  
  20. //********************************************************************************************************************************
  21.  
  22. void    DisplayPlayerStats()
  23.     {
  24.         char    NumberString[5];
  25.         short    stat;
  26.  
  27.         short    Plyr      =    (Team*20)+ViewPlyrStats;
  28.         short    PlyrIndex =    SquadInfo[ Plyr ];
  29.         short    ActPlyrIx =    (Team*20)+PlyrIndex;        
  30.  
  31.         short    tpace      =    Pace[ ActPlyrIx ]     - (50.0 / 100.0)*(100-Fitness[ ActPlyrIx ]);
  32.         short    tacc      =    Accuracy[ ActPlyrIx ] - (10.0 / 100.0)*(100-Fitness[ ActPlyrIx ]);
  33.         short    tflair      =    Flair[ ActPlyrIx ]    - (10.0 / 100.0)*(100-Fitness[ ActPlyrIx ]);
  34.         short    tstam      =    Stamina[ ActPlyrIx ]  - (50.0 / 100.0)*(100-Fitness[ ActPlyrIx ]);
  35.         short    tpow      =    Power[ ActPlyrIx ]    - (50.0 / 100.0)*(100-Fitness[ ActPlyrIx ]);
  36.  
  37.  
  38.     // *** PLAYERS SQUAD FORMATION BALL ***
  39.  
  40.         DrawIMAGE( &FrontendPseudoDEFN, &FrontendTextureDEFN, 
  41.                ( SQUD_BALS + PlyrIndex ),
  42.                10, 104, NO_BOX,
  43.                spritecopy );      // formation lotto balls.
  44.  
  45.  
  46.     // *** PLAYERS NAME ***
  47.  
  48.         DisplayString( 44, 107,
  49.              ( GetPLAYERSname( SquadInfo[ PlyrIndex ], Team, FULL_NAME )) , 
  50.             MEDIUM_FONT, 48, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN  );
  51.  
  52.  
  53.     // *** PLAYERS AGE ***
  54.  
  55.         DisplayString( 43, 136,
  56.              ( GetTEXT( PINF_LBLS+Age )) , 
  57.             SMALL_FONT, 55, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN  );
  58.  
  59.         char    age    =    EUROyear-DOByear[ ActPlyrIx ];
  60.         
  61.         if ( ( DOBmonth[ ActPlyrIx ] < EUROmonth ) || ( DOBmonth[ ActPlyrIx ] == EUROmonth && DOBday[ ActPlyrIx ] < EUROday ) )
  62.             age--;
  63.         
  64.         itoa( age, NumberString, 10);
  65.  
  66.         DisplayString( NextXposn+10, 136,
  67.             (char *)NumberString,
  68.             SMALL_FONT, 62, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN  );
  69.  
  70.     // *** PLAYERS CLUB ***
  71.  
  72.  
  73.         DisplayString( 43, 158,
  74.              ( GetTEXT( PINF_LBLS+Club )) , 
  75.             SMALL_FONT, 55, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN  );
  76.         
  77.         DisplayString( NextXposn+10, 158,
  78.             (char *)Clubnames[ ActPlyrIx ],
  79.             SMALL_FONT, 62, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN  );
  80.  
  81.     // *** PLAYERS CAPS ***
  82.  
  83.         itoa( PlayersCaps[ ActPlyrIx ] , NumberString, 10);
  84.  
  85.         DisplayString( 43, 180,
  86.              ( GetTEXT( PINF_LBLS+Caps )) , 
  87.             SMALL_FONT, 55, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN  );
  88.         
  89.         DisplayString( NextXposn+10, 180,
  90.             (char *)NumberString,
  91.             SMALL_FONT, 62, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN  );
  92.  
  93.     // *** PLAYERS GOALS ***
  94.  
  95.         itoa( PlayersGoals[ ActPlyrIx ] , NumberString, 10);
  96.  
  97.         DisplayString( 43, 202,
  98.              ( GetTEXT( PINF_LBLS+Goals )) , 
  99.             SMALL_FONT, 55, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN  );
  100.  
  101.         DisplayString( NextXposn+10, 202,
  102.             (char *)NumberString,
  103.             SMALL_FONT, 62, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN  );
  104.  
  105.     // *** PLAYERS POSITION ***
  106.  
  107.         DisplayString( 43, 224,
  108.              ( GetTEXT( PINF_LBLS+Posn )) , 
  109.             SMALL_FONT, 55, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN  );
  110.  
  111.         DisplayString( NextXposn+10, 224,
  112.                  ( GetTEXT( POSN_LBLE+PlayerPosns[ ActPlyrIx ] )), 
  113.             SMALL_FONT, 62, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN  );
  114.  
  115.  
  116.     // *** PLAYERS SPEED ***     > 75% pace + 25% stamina
  117.  
  118.         DisplayString( 43, 278,
  119.              ( GetTEXT( STAT_LBLS+Spd )) , 
  120.             SMALL_FONT, 48, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN  );
  121.  
  122.         stat    =         ((75*Pace[ ActPlyrIx ])/100) +
  123.                 ((25*Stamina[ ActPlyrIx ])/100);
  124.                     
  125.         Image_Widths[PURP_FILL+Dull] = stat*1.14;
  126.  
  127.         if ( stat > 0 )
  128.             DrawIMAGE( &FrontendPseudoDEFN, &FrontendTextureDEFN, 
  129.                PURP_FILL+Dull, 122, 281, NO_BOX, straightcopy );
  130.         
  131.         stat    =         ((75*tpace)/100) +
  132.                 ((25*tstam)/100);
  133.  
  134.         Image_Widths[PURP_FILL+Bright] = stat*1.14;
  135.         
  136.         if ( stat > 0 )
  137.             DrawIMAGE( &FrontendPseudoDEFN, &FrontendTextureDEFN, 
  138.                PURP_FILL+Bright, 122, 281, NO_BOX, straightcopy  );
  139.  
  140.         itoa( stat, NumberString, 10);
  141.  
  142.         DisplayString( 254-
  143.                 (PixelLengthOfString((char *)NumberString, SMALL_FONT)/2),
  144.                 278,
  145.                 (char *)NumberString,
  146.                 SMALL_FONT, 62, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN  );
  147.  
  148.  
  149.     // *** PLAYERS TACKLING ***    > 60% power + 40% discipline
  150.  
  151.         DisplayString( 43, 300,
  152.              ( GetTEXT( STAT_LBLS+Tackling )) , 
  153.             SMALL_FONT, 48, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN  );
  154.  
  155.         stat    =         ((60*Power[ ActPlyrIx ])/100) +
  156.                 ((40*Discipline[ ActPlyrIx ])/100);
  157.         
  158.         Image_Widths[PURP_FILL+Dull] = stat*1.14;
  159.  
  160.         if ( stat > 0 )
  161.             DrawIMAGE( &FrontendPseudoDEFN, &FrontendTextureDEFN, 
  162.                PURP_FILL+Dull, 122, 303, NO_BOX, straightcopy );
  163.  
  164.         stat    =         ((60*tpow)/100) +
  165.                 ((40*Discipline[ ActPlyrIx ])/100);
  166.  
  167.         Image_Widths[PURP_FILL+Bright] = stat*1.14;
  168.         
  169.         if ( stat > 0 )
  170.             DrawIMAGE( &FrontendPseudoDEFN, &FrontendTextureDEFN, 
  171.                PURP_FILL+Bright, 122, 303, NO_BOX, straightcopy  );
  172.  
  173.         itoa( stat, NumberString, 10);
  174.  
  175.         DisplayString( 254-
  176.                 (PixelLengthOfString((char *)NumberString, SMALL_FONT)/2),
  177.                 300,
  178.                 (char *)NumberString,
  179.                 SMALL_FONT, 62, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN  );
  180.  
  181.  
  182.     // *** PLAYERS PASSING ***    > 50% vision + 50% accuracy
  183.  
  184.         DisplayString( 43, 322,
  185.              ( GetTEXT( STAT_LBLS+Passing )) , 
  186.             SMALL_FONT, 48, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN  );
  187.  
  188.         stat    =         ((50*Vision[ ActPlyrIx ])/100) +
  189.                 ((50*Accuracy[ ActPlyrIx ])/100);
  190.         
  191.         Image_Widths[PURP_FILL+Dull] = stat*1.14;
  192.  
  193.         if ( stat > 0 )
  194.             DrawIMAGE( &FrontendPseudoDEFN, &FrontendTextureDEFN, 
  195.                PURP_FILL+Dull, 122, 325, NO_BOX, straightcopy );
  196.  
  197.         stat    =         ((50*Vision[ ActPlyrIx ])/100) +
  198.                 ((50*tacc)/100);
  199.  
  200.         Image_Widths[PURP_FILL+Bright] = stat*1.14;
  201.         
  202.         if ( stat > 0 )
  203.             DrawIMAGE( &FrontendPseudoDEFN, &FrontendTextureDEFN, 
  204.                PURP_FILL+Bright, 122, 325, NO_BOX, straightcopy  );
  205.  
  206.         itoa( stat, NumberString, 10);
  207.                     
  208.         DisplayString( 254-
  209.                 (PixelLengthOfString((char *)NumberString, SMALL_FONT)/2),
  210.                 322,
  211.                 (char *)NumberString,
  212.                 SMALL_FONT, 62, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN  );
  213.  
  214.  
  215.     // *** PLAYERS SHOOTING ***    > 70% accuracy + 30% power
  216.  
  217.         DisplayString( 43, 344,
  218.              ( GetTEXT( STAT_LBLS+Shooting )) , 
  219.             SMALL_FONT, 48, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN  );
  220.  
  221.         stat    =         ((70*Accuracy[ ActPlyrIx ])/100) +
  222.                 ((30*Power[ ActPlyrIx ])/100);
  223.         
  224.         Image_Widths[PURP_FILL+Dull] = stat*1.14;
  225.  
  226.         if ( stat > 0 )
  227.             DrawIMAGE( &FrontendPseudoDEFN, &FrontendTextureDEFN, 
  228.                PURP_FILL+Dull, 122, 347, NO_BOX, straightcopy );
  229.  
  230.         stat    =         ((70*tacc)/100) +
  231.                 ((30*tpow)/100);
  232.  
  233.         Image_Widths[PURP_FILL+Bright] = stat*1.14;
  234.         
  235.         if ( stat > 0 )
  236.             DrawIMAGE( &FrontendPseudoDEFN, &FrontendTextureDEFN, 
  237.                PURP_FILL+Bright, 122, 347, NO_BOX, straightcopy  );
  238.  
  239.         itoa( stat, NumberString, 10);
  240.                     
  241.         DisplayString( 254-
  242.                 (PixelLengthOfString((char *)NumberString, SMALL_FONT)/2),
  243.                 344,
  244.                 (char *)NumberString,
  245.                 SMALL_FONT, 62, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN  );
  246.  
  247.  
  248.  
  249.     // *** PLAYERS SKILL ***    > 50% flair + 50% control
  250.  
  251.         DisplayString( 43, 366,
  252.              ( GetTEXT( STAT_LBLS+Skill )) , 
  253.             SMALL_FONT, 48, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN  );
  254.  
  255.         stat    =         ((50*Flair[ ActPlyrIx ])/100) +
  256.                 ((50*Control[ ActPlyrIx ])/100);
  257.         
  258.         Image_Widths[PURP_FILL+Dull] = stat*1.14;
  259.  
  260.         if ( stat > 0 )
  261.             DrawIMAGE( &FrontendPseudoDEFN, &FrontendTextureDEFN, 
  262.                PURP_FILL+Dull, 122, 369, NO_BOX, straightcopy );
  263.  
  264.         stat    =         ((50*tflair)/100) +
  265.                 ((50*Control[ ActPlyrIx ])/100);
  266.  
  267.         Image_Widths[PURP_FILL+Bright] = stat*1.14;
  268.         
  269.         if ( stat > 0 )
  270.             DrawIMAGE( &FrontendPseudoDEFN, &FrontendTextureDEFN, 
  271.                PURP_FILL+Bright, 122, 369, NO_BOX, straightcopy  );
  272.  
  273.         itoa( stat, NumberString, 10);
  274.                     
  275.         DisplayString( 254-
  276.                 (PixelLengthOfString((char *)NumberString, SMALL_FONT)/2),
  277.                 366,
  278.                 (char *)NumberString,
  279.                 SMALL_FONT, 62, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN  );
  280.  
  281.  
  282.     // *** PLAYERS FITNESS ***
  283.  
  284.         DisplayString( 43, 421,
  285.              ( GetTEXT( STAT_LBLS+Fit )) , 
  286.             SMALL_FONT, 48, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN  );
  287.  
  288.         stat    =         Fitness[ ActPlyrIx ];
  289.         
  290.         itoa( stat, NumberString, 10);
  291.                     
  292.         Image_Widths[PURP_FILL+Bright] = stat*1.14;
  293.         Image_Widths[BRED_FILL] = stat*1.14;
  294.  
  295.         if ( stat > Injured )
  296.             DrawIMAGE( &FrontendPseudoDEFN, &FrontendTextureDEFN, 
  297.                PURP_FILL+Bright, 122, 424, NO_BOX, straightcopy );
  298.         else
  299.  
  300.         if ( stat > 0 )
  301.             DrawIMAGE( &FrontendPseudoDEFN, &FrontendTextureDEFN, 
  302.                BRED_FILL, 122, 424, NO_BOX, straightcopy );
  303.  
  304.         DisplayString( 254- (PixelLengthOfString((char *)NumberString, SMALL_FONT)/2), 421,
  305.                 (char *)NumberString, SMALL_FONT, 62, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN  );
  306.     }
  307.  
  308. //********************************************************************************************************************************
  309.  
  310. void    DoPlayerStats( char MENU, signed char BOX, short xposn, short yposn )
  311.     {
  312.         if ( MENU == PLAYER_STATS && LogicState == RUN_FRONTEND )
  313.         {
  314.             if ( BOX == RETURN_PSTATS_BOX && ButtonState!=0 )
  315.               {
  316.                 Team =    ConfigureTeamView();
  317.                 if ( ButtonState == LEFT_BUTTON )
  318.                     Animation_table[ReturnStatHandle].AnimationSpeed = -1.25;
  319.                 else
  320.                     Animation_table[ReturnStatHandle].AnimationSpeed = 1.25;
  321.  
  322.                 ChangeMenu    =    SQUAD_SELECT;
  323.                      DeBounce      =     TRUE;
  324.               }                                     
  325.         }
  326.     }
  327.  
  328.  
  329.  
  330. //********************************************************************************************************************************
  331.  
  332. void    DisplayTeamStats()
  333.     {
  334.  
  335.     short  wins        =    0;
  336.     short  draws        =    0;
  337.     short  loses        =    0;
  338.     int  gls_for        =    0;
  339.     int  gls_against    =    0;
  340.     char ammount[5];    
  341.  
  342.  
  343.           for ( char h=0; h < 10; h++ )
  344.       {
  345.         if ( PastScores[EUROstatTeam].history[h].scored == PastScores[EUROstatTeam].history[h].conceeded )
  346.             draws++;        
  347.         if ( PastScores[EUROstatTeam].history[h].scored > PastScores[EUROstatTeam].history[h].conceeded )
  348.             wins++;        
  349.         if ( PastScores[EUROstatTeam].history[h].scored < PastScores[EUROstatTeam].history[h].conceeded )
  350.             loses++;        
  351.  
  352.         gls_for+=    (int)PastScores[EUROstatTeam].history[h].scored;
  353.         gls_against+=    (int)PastScores[EUROstatTeam].history[h].conceeded;
  354.       }
  355.  
  356.     // *** LAST FIVE GAMES LABEL ***
  357.  
  358.         DisplayString( 260-(PixelLengthOfString(GetTEXT( TINF_LBLS+Last10 ), MEDIUM_FONT)/2), 412,
  359.              ( GetTEXT( TINF_LBLS+Last10 )) , 
  360.              MEDIUM_FONT, 29, NO_BOX, &FrontendBackgroundDEFN, &FrontendTextureDEFN  );
  361.  
  362.     // *** WINS ***
  363.  
  364.         DisplayString( 54-(PixelLengthOfString(GetTEXT( TINF_LBLS+Teamwins ), SMALL_FONT)/2), 441,
  365.              ( GetTEXT( TINF_LBLS+Teamwins )), 
  366.              SMALL_FONT, 22, NO_BOX, &FrontendBackgroundDEFN, &FrontendTextureDEFN  );
  367.  
  368.             itoa( wins, ammount, 10);
  369.  
  370.             DisplayString( 107 - (PixelLengthOfString( ammount, SMALL_FONT ) /2 ), 441,
  371.                 ammount, SMALL_FONT, 15, NO_BOX, 
  372.                 &FrontendBackgroundDEFN, &FrontendTextureDEFN  );
  373.  
  374.     // *** DRAWS ***
  375.  
  376.         DisplayString( 154-(PixelLengthOfString(GetTEXT( TINF_LBLS+Teamdraws ), SMALL_FONT)/2), 441,
  377.              ( GetTEXT( TINF_LBLS+Teamdraws )), 
  378.              SMALL_FONT, 22, NO_BOX, &FrontendBackgroundDEFN, &FrontendTextureDEFN  );
  379.  
  380.             itoa( draws, ammount, 10);
  381.  
  382.             DisplayString( 204 - (PixelLengthOfString( ammount, SMALL_FONT ) /2 ), 441,
  383.                 ammount, SMALL_FONT, 15, NO_BOX, 
  384.                 &FrontendBackgroundDEFN, &FrontendTextureDEFN  );
  385.  
  386.     // *** LOST ***
  387.  
  388.         DisplayString( 251-(PixelLengthOfString(GetTEXT( TINF_LBLS+Teamloses ), SMALL_FONT)/2), 441,
  389.              ( GetTEXT( TINF_LBLS+Teamloses )), 
  390.              SMALL_FONT, 22, NO_BOX, &FrontendBackgroundDEFN, &FrontendTextureDEFN  );
  391.  
  392.             itoa( loses, ammount, 10);
  393.  
  394.             DisplayString( 301 - (PixelLengthOfString( ammount, SMALL_FONT ) /2 ), 441,
  395.                 ammount, SMALL_FONT, 15, NO_BOX, 
  396.                 &FrontendBackgroundDEFN, &FrontendTextureDEFN  );
  397.  
  398.     // *** GOALS FOR ***
  399.  
  400.         DisplayString( 348-(PixelLengthOfString(GetTEXT( TINF_LBLS+Teamglsfor ), SMALL_FONT)/2), 441,
  401.              ( GetTEXT( TINF_LBLS+Teamglsfor )), 
  402.              SMALL_FONT, 22, NO_BOX, &FrontendBackgroundDEFN, &FrontendTextureDEFN  );
  403.  
  404.             itoa( gls_for, ammount, 10);
  405.  
  406.             DisplayString( 398 - (PixelLengthOfString( ammount, SMALL_FONT ) /2 ), 441,
  407.                 ammount, SMALL_FONT, 15, NO_BOX, 
  408.                 &FrontendBackgroundDEFN, &FrontendTextureDEFN  );
  409.  
  410.     // *** GOALS AGAINST ***
  411.  
  412.         DisplayString( 445-(PixelLengthOfString(GetTEXT( TINF_LBLS+Teamglsagn ), SMALL_FONT)/2), 441,
  413.              ( GetTEXT( TINF_LBLS+Teamglsagn )), 
  414.              SMALL_FONT, 22, NO_BOX, &FrontendBackgroundDEFN, &FrontendTextureDEFN  );
  415.  
  416.             itoa( gls_against, ammount, 10);
  417.  
  418.             DisplayString( 495 - (PixelLengthOfString( ammount, SMALL_FONT ) /2 ), 441,
  419.                 ammount, SMALL_FONT, 15, NO_BOX, 
  420.                 &FrontendBackgroundDEFN, &FrontendTextureDEFN  );
  421.  
  422.     // *** PRESIDENT ***
  423.  
  424.         DisplayString( 426-(PixelLengthOfString(GetTEXT( TINF_LBLS+President ), MEDIUM_FONT)/2), 282,
  425.              ( GetTEXT( TINF_LBLS+President )) , 
  426.              MEDIUM_FONT, 29, NO_BOX, &FrontendBackgroundDEFN, &FrontendTextureDEFN  );
  427.  
  428.         DisplayString( 426-(PixelLengthOfString(GetTEXT( PRES_NMES+EUROstatTeam ), SMALL_FONT)/2), 309,
  429.              ( GetTEXT( PRES_NMES+EUROstatTeam )) , 
  430.              SMALL_FONT, 15, NO_BOX, &FrontendBackgroundDEFN, &FrontendTextureDEFN  );
  431.  
  432.     // *** COACH ***
  433.  
  434.         DisplayString( 426-(PixelLengthOfString(GetTEXT( TINF_LBLS+Coach ), MEDIUM_FONT)/2), 339,
  435.              ( GetTEXT( TINF_LBLS+Coach )) , 
  436.              MEDIUM_FONT, 29, NO_BOX, &FrontendBackgroundDEFN, &FrontendTextureDEFN  );
  437.  
  438.         DisplayString( 426-(PixelLengthOfString(GetTEXT( COCH_NMES+EUROstatTeam ), SMALL_FONT)/2), 366,
  439.              ( GetTEXT( COCH_NMES+EUROstatTeam )) , 
  440.              SMALL_FONT, 15, NO_BOX, &FrontendBackgroundDEFN, &FrontendTextureDEFN  );
  441.  
  442.     // *** STAR PLAYERS ***
  443.  
  444.         DisplayString( 426-(PixelLengthOfString(GetTEXT( TINF_LBLS+Starplayr ), MEDIUM_FONT)/2), 164,
  445.              ( GetTEXT( TINF_LBLS+Starplayr )) , 
  446.              MEDIUM_FONT, 29, NO_BOX, &FrontendBackgroundDEFN, &FrontendTextureDEFN  );
  447.  
  448.               for ( char s=0; s < 3; s++ )
  449.           {
  450.  
  451.         DisplayString( 426-(PixelLengthOfString( GetPLAYERSname( StarPlayers[ (EUROstatTeam*3)+s ], EUROstatTeam, FULL_NAME ), 
  452.              SMALL_FONT)/2), 190+(s*22),
  453.                   ( GetPLAYERSname( StarPlayers[ (EUROstatTeam*3)+s ], EUROstatTeam, FULL_NAME )) , 
  454.              SMALL_FONT, 15, NO_BOX, &FrontendBackgroundDEFN, &FrontendTextureDEFN  );
  455.           }
  456.  
  457.     // *** PREVIOUS YEARS ***
  458.  
  459.         DisplayString( 171-(PixelLengthOfString(GetTEXT( TINF_LBLS+Record ), MEDIUM_FONT)/2), 163,
  460.              ( GetTEXT( TINF_LBLS+Record )) , 
  461.              MEDIUM_FONT, 29, NO_BOX, &FrontendBackgroundDEFN, &FrontendTextureDEFN  );
  462.  
  463.         if ( PreviousEuroYearsTBL[EUROstatTeam] <= 0 )
  464.              DrawIMAGE( &FrontendBackgroundDEFN, &FrontendTextureDEFN, 
  465.                  TBAR_SPLT, 70, 188, NO_BOX, spritecopy );      
  466.  
  467.         
  468.  
  469.               for ( char y=0; y < 9; y++ )
  470.           {
  471.  
  472.             if ( y >= PreviousEuroYearsTBL[EUROstatTeam] )
  473.             {
  474.                DisplayString( 28, 187+(y*22),
  475.                    ( GetTEXT( YEAR_LBLS+y )) , 
  476.                    MEDIUM_FONT, 22, NO_BOX, &FrontendBackgroundDEFN, &FrontendTextureDEFN  );
  477.                  DisplayString( 84, 191+(y*22),
  478.                      ( GetTEXT( HIST_LBLS+(PreviousEuroHistory[(EUROstatTeam*9)+y]) )) , 
  479.                      SMALL_FONT, 15, NO_BOX, &FrontendBackgroundDEFN, &FrontendTextureDEFN  );
  480.             }
  481.  
  482.             else
  483.             
  484.                  DisplayString( 24, 191+(y*22),
  485.                      ( GetTEXT( HIST_LBLS+(PreviousEuroHistory[(EUROstatTeam*9)+y]) )) , 
  486.                      SMALL_FONT, 15, NO_BOX, &FrontendBackgroundDEFN, &FrontendTextureDEFN  );
  487.           }
  488.     }
  489.  
  490. //********************************************************************************************************************************
  491.  
  492. void    DoTeamStats( char MENU, signed char BOX, short xposn, short yposn )
  493.     {
  494.         if ( MENU == TEAM_STATS && LogicState == RUN_FRONTEND )
  495.         {
  496.             if ( BOX == RETN_TSTATS_BOX && ButtonState!=0 )
  497.               {
  498.                 if ( ButtonState == LEFT_BUTTON )
  499.                     Animation_table[ReturnTeamHandle].AnimationSpeed = -1.25;
  500.                 else
  501.                     Animation_table[ReturnTeamHandle].AnimationSpeed = 1.25;
  502.  
  503.                 ChangeMenu    =    PLAYER_STATS;
  504.                      DeBounce      =     TRUE;
  505.               }                                     
  506.  
  507.  
  508.             if ( BOX == OPPONENT_TEAM_BOX && ButtonState!=0 )
  509.                 {
  510.                     if ( ButtonState == LEFT_BUTTON )
  511.                         {
  512.                         Animation_table[ViewTeamHandle].AnimationSpeed = -1.25;
  513.                         EUROstatTeam++;
  514.                         }
  515.                     else
  516.                         {
  517.                         Animation_table[ViewTeamHandle].AnimationSpeed = 1.25;
  518.                         EUROstatTeam--;
  519.                         }
  520.  
  521.                     EUROstatTeam&=15;
  522.                     ChangeMenu    =    TEAM_STATS;
  523.                          DeBounce      =     TRUE;
  524.                 }                                     
  525.  
  526.  
  527.         RetnTstatHighlight     =      ControlOptionHighlight( BOX, RETN_TSTATS_BOX,
  528.                             RETN_TSTATSdisp_BOX, RetnTstatHighlight, 
  529.                             ReturnTeamHandle, BUTN_LBLS+Done );
  530.  
  531.  
  532.         }
  533.     }
  534.  
  535. //********************************************************************************************************************************
  536.